The integration test includes not only the implementation of the requirements described, but also consider the api for the manager and tutor's view point.

Integration test of the restful controller for the our own functions

Sign up

Create a school: "/schools/{name}", "/schools/{name}/"

Screen Shot 2019-10-27 at 5 17 49 PM

Get all schools: "/schools", "/schools/"

Screen Shot 2019-10-27 at 5 20 22 PM

Get a school by name: "/schools/{name}", "/schools/{name}"
Screen Shot 2019-10-27 at 5 18 21 PM

Create a student (need to pass in an existing school name): "/students/{name}/{schoolName}", "/students/{name}/{schoolName}"

Screen Shot 2019-10-27 at 5 22 03 PM

Get all tutors that teach searched course: "/tutors_byCourse/{name}", "/tutors_byCourse/{name}/"
Manually added two tutors Amanda and Kenza to both teach COMP 202:
Screen Shot 2019-10-30 at 10 59 51 PM

Screen Shot 2019-10-30 at 11 01 05 PM

Get a tutor by name: "/tutors/{name}", "/tutors/{name}/" (This should change to get tutors whose names contain the query keyword. Ex: name - Mi should return not only the tutor whose name is Mi, but also such as Michael, Michelle...)
image

Send tutorial request

Create a session: "tutorial_request/tutorial_sessions", "tutorial_request/tutorial_sessions/", @RequestParam(name = "startTime"), @RequestParam(name = "finishTime"), @RequestParam(name = "tutorName"), @RequestParam(name = "courseName").
image

The Request result is shown as follows

image

Create a registration(The session has to be created first): "tutorial_request/registration", "tutorial_request/registration/", @RequestParam("startTime"), @RequestParam("finishTime"), @RequestParam("tutorName"), @RequestParam("studentName") Screen Shot 2019-10-31 at 12 19 55 AM

Create a bill(The registration has to be created first): "tutorial_request/bills", "tutorial_request/bills/", @RequestParam(name="amount"), @RequestParam(name="registrationNr") Screen Shot 2019-10-31 at 12 41 25 AM

Feedback

Student creates feedback for a tutor: "/feedback", @RequestParam(name = "comment"), @RequestParam(name = "reg_time"), @RequestParam(name = "studentid"), @RequestParam(name = "rate") createStudentFeedback() Show all tutorsfeedbacks of student: "/tutorFeedbacks", @RequestParam("studentName") getTutorFeedback() Show all studentsfeedback of a tutor: "/all_student_feedbacks", @RequestParam("tutor_name") getAllStudentFeedbacks()

Integration test for the other teams

Get all schools(for tutor's view point): "/schools", "/schools/"
Screen Shot 2019-10-27 at 5 20 22 PM

Get a tutor by name(for manager's view point): "/tutors/{name}", "/tutors/{name}/" (This should change to get tutors whose names contain the query keyword. Ex: name - Mi should return not only the tutor whose name is Mi, but also such as Michael, Michelle...)
image

Show all tutorsfeedbacks of student(for tutor's view point): "/tutorFeedbacks", @RequestParam("studentName") getTutorFeedback()